package controlador;

import vista.*;
import modelo.sonidos.*;
import modelo.*;

public class Main {
		
	Controlador controlador;
	Vista vista; 
	Ingresar ingresar;
	Despachar despachar;
	Solicitudes solicitudes;
	Stock stock;
	Ventas ventas;
	Sonidos sonidos;
	Item item;
	ItemPendiente itemPendiente;
	Modelo modelo;
	Conexion conexion;
	ItemCtrl itemCtrl;
	IngresarCtrl ingresarCtrl;
	DespacharCtrl despacharCtrl;
	ItemPendienteCtrl itemPendienteCtrl; 
	Compras compras;

	public static void main(String[] args) {

		Main app = new Main();
		app.iniciar();
	}
	
	private void iniciar(){
		/*Se instancian las clases*/
		sonidos = new Sonidos();
		controlador = new Controlador();
		modelo = new Modelo();
//		conexion = new Conexion();
		itemCtrl = new ItemCtrl();
		ingresarCtrl = new IngresarCtrl(); 	
		despacharCtrl = new DespacharCtrl();
		vista = new Vista();
		ingresar = new Ingresar();
		despachar = new Despachar();
		solicitudes = new Solicitudes();
		stock = new Stock();
		ventas = new Ventas();
		item = new Item();
		itemPendiente = new ItemPendiente();
		itemPendienteCtrl = new ItemPendienteCtrl();
		compras = new Compras();
		
		/*Se establecen las relaciones entre clases*/
		vista.setControlador(controlador);
		ingresar.setControlador(controlador);
		despachar.setControlador(controlador);
		solicitudes.setControlador(controlador);
		stock.setControlador(controlador);
		ventas.setControlador(controlador);
		item.setControlador(controlador);
		itemPendiente.setControlador(controlador);
		itemCtrl.setControlador(controlador);
		ingresarCtrl.setControlador(controlador);	
		despacharCtrl.setControlador(controlador);
		itemPendienteCtrl.setControlador(controlador);
		compras.setControlador(controlador);
		
		/*Se establecen relaciones con la clase controlador*/
		controlador.setVista(vista);
		controlador.setIngresar(ingresar);
		controlador.setDespachar(despachar);
		controlador.setSolicitudes(solicitudes);
		controlador.setStock(stock);
		controlador.setVentas(ventas);
		controlador.setSonidos(sonidos);
		controlador.setItem(item);
		controlador.setItemPendiente(itemPendiente);
		controlador.setModelo(modelo);
		controlador.setConexion(conexion);
		controlador.setItemCtrl(itemCtrl);
		controlador.setIngresarCtrl(ingresarCtrl);
		controlador.setDespacharCtrl(despacharCtrl);
		controlador.setItemPendienteCtrl(itemPendienteCtrl);
		controlador.setCompras(compras);
		
		vista.setVisible(true);
	}

}
